package com.swanclouds.core.transport;

/**
 * Common String Constants
 *
 * @author Jeremy Unruh
 */
public final class ClientConstants {

    public static final String HEADER_X_AUTH_TOKEN = "X-Auth-Token";
    public static final String HEADER_LOCATION = "Location";
    public static final String HEADER_ETAG = "ETag";
    public static final String HEADER_CONTENT_TYPE = "Content-Type";
    public static final String HEADER_ACCEPT = "Accept";
    public static final String HEADER_USER_AGENT = "User-Agent";
    public static final String USER_AGENT = "RedFish / Redfish Client";
    public static final String HEADER_CONTENT_LANGUAGE = "Content-Language";
    public static final String HEADER_CONTENT_ENCODING = "Content-Encoding";
    public static final String HEADER_X_FRAME_OPTIONS = "X-Frame-Options";
    public static final String HEADER_X_XSS_PROTECTION = "X-XSS-Protection";
    public static final String HEADER_EXPIRES = "Expires";
    public static final String HEADER_IF_MATCH = "If-Match";
    public static final String HEADER_SET_COOKIE = "Set-Cookie";

    public static final String HEADER_X_DOMAIN_ID = "X-Domain-Id";
    public static final String HEADER_X_DOMAIN_NAME = "X-Domain-Name";

    public static final String MULTIPART_FORM_DATA = "multipart/form-data";

    public static final String CONTENT_TYPE_JSON = "application/json";
    public static final String CONTENT_TYPE_JSON_CHARSET = "application/json;charset=utf-8";
    public static final String CONTENT_TYPE_STREAM = "application/stream";
    public static final String CONTENT_TYPE_DIRECTORY = "application/directory";
    public static final String CONTENT_TYPE_OCTECT_STREAM = "application/octet-stream";
    public static final String CONTENT_TYPE_TEXT = "text/plain";
    public static final String CONTENT_TYPE_TEXT_HTML = "text/html";
    public static final String CONTENT_TYPE_IMAGE_V2_PATCH = "application/openstack-images-v2.1-json-patch";
    public static final String CONTENT_TYPE_ARTIFACT_PATCH = "application/json-patch+json";

    public static final String X_OPENSTACK_REQUEST_ID = "x-openstack-request-id";
    public static final String X_COMPUTE_REQUEST_ID = "X-Compute-Request-Id";

    // Paths
    public static final String URI_SEP = "/redfish/v1";
    public static final String PATH_SESSIONSERVICE = "/SessionService";
    public static final String SESSIONSERVICE_SESSIONS = "/SessionService/Sessions";
    public static final String SESSIONSERVICE_SESSIONS_ID = "/SessionService/Sessions/%s";

    public static final String PATH_SYSTEMS = "/Systems";
    public static final String SYSTEMS_DETAIL = "/Systems/%s";
    public static final String SYSTEMS_PROCESSORS = "/Systems/%s/Processors";
    public static final String SYSTEMS_PROCESSORS_ID = "/Systems/%s/Processors/%s";
    public static final String SYSTEMS_MEMORY = "/Systems/%s/Memory";
    public static final String SYSTEMS_MEMORY_ID = "/Systems/%s/Memory/%s";
    public static final String SYSTEMS_STORAGES = "/Systems/%s/Storages";
    public static final String SYSTEMS_STORAGES_ID = "/Systems/%s/Storages/%s";
    public static final String SYSTEMS_STORAGES_VOLUMES = "/Systems/%s/Storages/%s/Volumes";
    public static final String SYSTEMS_STORAGES_VOLUMES_ID = "/Systems/%s/Storages/%s/Volumes/%s";
    public static final String SYSTEMS_STORAGES_VOLUMES_ID_INIT = "/Systems/%s/Storages/%s/Volumes/%s/Actions/Volume.Initialize";
    public static final String SYSTEMS_BIOS = "/Systems/%s/Bios";
    public static final String SYSTEMS_BIOS_SD = "/Systems/%s/Bios/SD";
    public static final String SYSTEMS_BIOS_ChangePassword = "/Systems/%s/Bios/Actions/Bios.ChangePassword";
    public static final String SYSTEMS_BIOS_MODIFY_ATTRIBUTES = "/Systems/%s/Bios/SD";
    public static final String SYSTEMS_BIOS_ACTIONS_RESET = "/Systems/%s/Bios/Actions/Bios.ResetBios";

    public static final String SYSTEMS_ETHERNET_INTERFACES = "/Systems/%s/EthernetInterfaces";
    public static final String SYSTEMS_ETHERNET_INTERFACES_ID = "/Systems/%s/EthernetInterfaces/%s";
    public static final String SYSTEMS_ETHERNET_INTERFACES_ID_CONFIGURE = "/Systems/%s/EthernetInterfaces/%s/Actions/Oem/Huawei/EthernetInterface.Configure";
    public static final String SYSTEMS_ETHERNET_INTERFACES_ID_VLANS = "/Systems/%s/EthernetInterfaces/%s/VLANs";
    public static final String SYSTEMS_ETHERNET_INTERFACES_ID_VLANS_ID = "/Systems/%s/EthernetInterfaces/%s/VLANs/%s";
    public static final String SYSTEMS_ETHERNET_INTERFACES_ID_VLANS_ID_CONFIGURE = "/Systems/%s/EthernetInterfaces/%s/VLANs/%s/Actions/Oem/Huawei/VLanNetworkInterface.Configure";
    public static final String SYSTEMS_NETWORK_INTERFACES = "/Systems/%s/NetworkInterfaces";
    public static final String SYSTEMS_NETWORK_INTERFACES_ID = "/Systems/%s/NetworkInterfaces/%s";
    public static final String SYSTEMS_LOGSERVICE = "/Systems/%s/LogServices";
    public static final String SYSTEMS_LOGSERVICE_ID = "/Systems/%s/LogServices/%s";
    public static final String SYSTEMS_LOGSERVICE_ID_CLEAR = "/Systems/%s/LogServices/%s/Actions/LogService.ClearLog";
    public static final String SYSTEMS_LOGSERVICE_ID_ENTRIES = "/Systems/%s/LogServices/%s/Entries";
    public static final String SYSTEMS_LOGSERVICE_ID_ENTRIES_ID = "/Systems/%s/LogServices/%s/Entries";
    public static final String SYSTEMS_LOGSERVICE_ID_ENTRIES_ID_PAGE = "/Systems/%s/LogServices/%s/Entries?$skip=%d&$top=%d";
    public static final String SYSTEMS_NETWORK_BONDING = "/Systems/%s/NetworkBonding";


    public static final String PATH_CHASSIS = "/Chassis";
    public static final String PATH_CHASSIS_ID = "/Chassis/%s";
    public static final String PATH_CHASSIS_DRIVES = "/Chassis/%s/Drives";
    public static final String PATH_CHASSIS_DRIVES_ID = "/Chassis/%s/Drives/%s";
    public static final String PATH_CHASSIS_PCIEDEVICES = "/Chassis/%s/PCIeDevices";
    public static final String PATH_CHASSIS_PCIEDEVICES_ID = "/Chassis/%s/PCIeDevices/%s";
    public static final String PATH_CHASSIS_PCIEDEVICES_ID_FUNCTIONS = "/Chassis/%s/PCIeDevices/%s/Functions";
    public static final String PATH_CHASSIS_PCIEDEVICES_ID_FUNCTIONS_ID = "/Chassis/%s/PCIeDevices/%s/Functions/%s";
    public static final String PATH_CHASSIS_NETWORKADAPTERS = "/Chassis/%s/NetworkAdapters";
    public static final String PATH_CHASSIS_NETWORKADAPTERS_ID = "/Chassis/%s/NetworkAdapters/%s";
    public static final String PATH_CHASSIS_NETWORKPORTS_ID = "/Chassis/%s/NetworkAdapters/%s/NetworkPorts/%s";
    public static final String PATH_CHASSIS_POWER = "/Chassis/%s/Power";
    public static final String PATH_CHASSIS_THERMAL = "/Chassis/%s/Thermal";


    public static final String PATH_MANAGERS = "/Managers";
    public static final String PATH_MANAGERS_ID = "/Managers/%s";
    public static final String PATH_MANAGERS_RESET = "/Managers/%s/Actions/Managers.Reset";
    public static final String PATH_MANAGERS_RESTOREFATORY = "/Managers/%s/Actions/Managers.RestoreFactory";
    public static final String PATH_MANAGERS_ROLLBACK = "/Managers/%s/Actions/Oem/Huawei/Managers.RollBack";
    public static final String PATH_MANAGERS_POWERONPERMIT = "/Managers/%s/Actions/Oem/Huawei/Managers.PowerOnPermit";
    public static final String PATH_MANAGERS_IMPORTCONFIGURATION = "/Managers/%s/Actions/Oem/BMC/Managers.ImportConfiguration";
    public static final String PATH_MANAGERS_EXPORTCONFIGURATION = "/Managers/%s/Actions/Oem/BMC/Managers.ExportConfiguration";
    public static final String PATH_MANAGERS_ETHERNETINTERFACES = "/Managers/%s/EthernetInterfaces";
    public static final String PATH_MANAGERS_ETHERNETINTERFACES_ID = "/Managers/%s/EthernetInterfaces/%s";
    public static final String PATH_MANAGERS_NETWORKPROTOCOL = "/Managers/%s/NetworkProtocol";
    public static final String PATH_MANAGERS_SERIALINTERFACES = "/Managers/%s/SerialInterfaces";
    public static final String PATH_MANAGERS_VIRTUALMEDIA = "/Managers/%s/VirtualMedia";
    public static final String PATH_MANAGERS_VIRTUALMEDIA_ID = "/Managers/%s/VirtualMedia/%s";
    public static final String PATH_MANAGERS_VIRTUALMEDIA_INSERTMEDIA = "/Managers/%s/VirtualMedia/%s/Actions/VirtualMedia.InsertMedia";
    public static final String PATH_MANAGERS_VIRTUALMEDIA_EJECTMEDIA = "/Managers/%s/VirtualMedia/%s/Actions/VirtualMedia.EjectMedia";
    public static final String PATH_MANAGERS_VIRTUALMEDIA_VMMCONTROL = "/Managers/%s/VirtualMedia/%s/Oem/Huawei/Actions/VirtualMedia.VmmControl";
    public static final String PATH_MANAGERS_KVMSERVICE = "/Managers/%s/KvmService";
    public static final String PATH_MANAGERS_OPENH5KVM = "/Managers/%s/KvmService/Actions/KvmService.OpenH5KVM";
    public static final String PATH_MANAGERS_SETKVMKEY = "/Managers/%s/KvmService/Actions/KvmService.SetKvmKey";
    public static final String PATH_MANAGERS_LOGSERVICE = "/Managers/%s/LogServices";
    public static final String PATH_MANAGERS_LOGSERVICE_MEMBERS = "/Managers/%s/LogServices/%s";
    public static final String PATH_MANAGERS_LOGSERVICE_ENTRIES = "/Managers/%s/LogServices/%s/Entries";
    public static final String PATH_MANAGERS_LOGSERVICE_ENTRIES_ID = "/Managers/%s/LogServices/%s/Entries/%s";
    public static final String PATH_MANAGERS_SNMPSERVICE_OVERWRITEPOLICY = "/Managers/%s/LogServices/Actions/LogService.SetOverWritePolicy";
    public static final String PATH_MANAGERS_SNMPSERVICE_CLEARLOG = "/Managers/%s/LogServices/%s/Actions/LogService.ClearLog";
    public static final String PATH_MANAGERS_SNMPSERVICE_DOWNLOADLOG = "/Managers/%s/LogServices/%s/Actions/LogService.DownloadLog";
    public static final String PATH_MANAGERS_NTPSERVICE = "/Managers/%s/NtpService";
    public static final String PATH_MANAGERS_SECURITYSERVICE = "/Managers/%s/SecurityService";
    public static final String PATH_MANAGERS_SECURITYSERVICE_HTTPSCERT = "/Managers/%s/SecurityService/HttpsCert";
    public static final String PATH_MANAGERS_SECURITYSERVICE_HTTPSCERT_GENERATECSR = "/Managers/%s/SecurityService/HttpsCert.GenerateCSR";
    public static final String PATH_MANAGERS_SECURITYSERVICE_HTTPSCERT_IMPORTSERVICECERTIFICATE = "/Managers/%s/SecurityService/HttpsCert.ImportServerCertificate";
    public static final String PATH_MANAGERS_SMTPSERVICE = "/Managers/%s/SmtpService";
    public static final String PATH_MANAGERS_SMTPSERVICE_SUBMITTESTEVENT = "/Managers/%s/SmtpService/Actions/SmtpService.SubmitTestEvent";
    public static final String PATH_MANAGERS_SNMPSERVICE = "/Managers/%s/SnmpService";
    public static final String PATH_MANAGERS_SNMPSERVICE_SUBMITTESTEVENT = "/Managers/%s/SnmpService/Actions/SnmpService.SubmitTestEvent";
    public static final String PATH_MANAGERS_SYSLOGSERVICE = "/Managers/%s/SyslogService";
    public static final String PATH_MANAGERS_SYSLOGSERVICE_SUBMITTESTEVENT = "/Managers/%s/SyslogService/Actions/SyslogService.SubmitTestEvent";
    public static final String MANAGERS_EXPORT_KVM_STARTUP_FILE = "/Managers/%s/KvmService/Actions/KvmServcie.ExportKvmStartupFile";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE = "/Managers/%s/DiagnosticService";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE_CAPTURESCREENSHOT = "/Managers/%s/DiagnosticService/Actions/DiagnosticService.CaptureScreenShot";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE_DELETESCREENSHOT = "/Managers/%s/DiagnosticService/Actions/DiagnosticService.DeleteScreenShot";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE_DOWNLOADSCREENSHOT = "/Managers/%s/DiagnosticService/Actions/DiagnosticService.DownloadScreenShot";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE_COLLECTBLACKBOX = "/Managers/%s/DiagnosticService/Actions/DiagnosticService.CollectBlackBox";
    public static final String PATH_MANAGERS_DIAGNOSTICSERVICE_EXPORTBLACKBOX = "/Managers/%s/DiagnosticService/Actions/DiagnosticService.ExportBlackBox";
    public static final String PATH_MANAGERS_LLDPSERVICE = "/Managers/%s/LldpService";

    public static final String PATH_TASKSERVICE = "/TaskService";
    public static final String PATH_TASKSERVICE_TASKS = "/TaskService/Tasks";
    public static final String PATH_TASKSERVICE_TASK_COLLECTBLACKBOX = "/TaskService/Tasks/CollectBlackBox";
    public static final String PATH_TASKSERVICE_TASKS_UPDATEFIRMWARE = "/TaskService/Tasks/UpdateFirmware";

    public static final String PATH_ACCOUNTSERVICE = "/AccountService";
    public static final String ACCOUNTSERVICE_ACCOUNTS = "/AccountService/Accounts";
    public static final String ACCOUNTSERVICE_ACCOUNTS_ID = "/AccountService/Accounts/%s";
    public static final String ACCOUNTSERVICE_ROLES = "/AccountService/Roles";
    public static final String ACCOUNTSERVICE_ROLES_ID = "/AccountService/Roles/%s";
    public static final String ACCOUNTSERVICE_LDAP_SERVICE = "/AccountService/LdapService";
    public static final String ACCOUNTSERVICE_LDAP_SERVICE_LDAPCONTROLLER = "/AccountService/LdapService/LdapControllers";
    public static final String ACCOUNTSERVICE_LDAP_SERVICE_LDAPCONTROLLER_ID = "/AccountService/LdapService/LdapControllers/%s";

    public static final String PATH_UPDATESERVICE = "/UpdateService";
    public static final String PATH_UPDATESERVICE_FIRMWAREINVENTORY = "/UpdateService/FirmwareInventory";
    public static final String PATH_UPDATESERVICE_FIRMWAREINVENTORY_ID = "/UpdateService/FirmwareInventory/%s";

    public static final String PATH_EVENTSERVICE = "/EventService";
    public static final String PATH_EVENTSERVICE_SUBSCRIPTIONS = "/EventService/Subscriptions";
    public static final String PATH_EVENTSERVICE_SUBSCRIPTIONS_ID = "/EventService/Subscriptions/%s";

}
